Jun 8 2017 / 07:07
プログラミング > webアプリ開発 > discuss >
Keyword:

DBの再構築とユーザーの管理

今日すること

(08:00) 内面的なロジックはもう完成した感じだが、まだもう少しやっておきたいことがあるのでそれをやってしまう。 何かというと、ユーザーの削除である。今のプログラムではユーザーは一回作られたらもう使われることはなくてもDB に残ってしまう。データ容量の無駄になるので、一回使われたて、そこから一定時間経ったらユーザーを削除するようにする。

アルゴリズム

ユーザーには作られた時刻を保持するデータが含まれている。前回までこのデータ型はtimestamp型だったのだがあまりにも使いやすい方 が他にあったのでそっちを使うことにした、datatime型である。datatime型とtimestamp型は様々な違いがあるが殆どの点において 前者のほうが使いやすかった。ということでDBの時間保持変数をすべてdatatime型にした。

処理としては新しく期限切れのユーザーを検知して削除する関数を作って、それを最初に呼ぶようにする。 関数の中ではユーザーDBから期限切れのユーザーIDを取得してそれを消す、というかんたんな処理である。 ユーザーのデータはクッキーに保存されているので今使用中の場合はユーザーを強制的に変更させる。

その前にちょこまかと改善

(16:00) 今日の本題のコーディングに入る前に前準備的なものがいるのでやってしまおう。 まず、userには当然作ったときの時間を保持するカラムがあるのですが、最初はtimestampやらdatatimeやらを使っていた。 今日の八時まではそんな方法だったのだが期限切れ化を判別するsql文がなかなか日付型だと扱いにくかったので、日付を数値に変換するstrtotime関数 なるものを使って整数にしてdbにぶち込むようにした。

コーディング

そこまで難しくなかった。アルゴリズムの通りのプログラムで動いた。

お知らせ